/*
 * @Description: 登录用户
 * @Author: DHL
 * @Date: 2021-12-31 14:56:42
 * @LastEditors: DHL
 * @LastEditTime: 2022-11-08 14:17:38
 */

import { Result } from '/@/model/baseModel'

export interface LoginUserModel {
  id: Nullable<string>
  ip: Nullable<string>
  loginName: Nullable<string>
  name: Nullable<string>
  userType: Nullable<string>
  devloper: boolean

  /**
   * 用户状态（0，失效；1，生效）
   */
  status: Nullable<number>

  /**
   * 是否第一次登录（0，否；1，是）
   */
  firstLogin: Nullable<number>

  /**
   * 用户所属组织机构
   */
  organizations: Nullable<object[]>

  /**
   * 用户角色
   */
  roles: Nullable<object[]>

  /**
   * 用户拥有的权限
   */
  resources: Nullable<object[]>

  /**
   * 头像
   */
  avatar: Nullable<string>

  /**
   * 简介
   */
  introduction: Nullable<string>

  /**
   * 令牌
   */
  token: Nullable<string>

  /**
   * 当前操作系统
   */
  app: Nullable<LoginUserAppModel>

  /**
   * 可访问的授权系统
   */
  appList: Array<LoginUserAppModel>
}

/**
 * 用户授权系统
 */
export interface LoginUserAppModel {
  /** 编号 */
  id?: string

  /** 项目名称 */
  name: string

  /** 项目编码 */
  code: string

  /** 接入ID */
  appId: string

  /** 接入Token */
  appToken: string

  /** 接入密钥 */
  appSecret: string

  /** 项目类型（1，服务端；2，微信小程序；3，手机app；4，网页） */
  appType: string

  /** IP地址 */
  ipAddr: string

  /** 端口号 */
  portCode: string

  /** 域名 */
  webAddr: string

  /** 顺序号 */
  proSeq: number

  /** 接入状态(0,不允许接入;1,允许接入) */
  status: string

  /** 备注 */
  remark: string
}

/**
 * 登录用户返回结果
 */
export type LoginUserResultModel = Result<LoginUserModel>